1. Field of the Invention
The present invention relates generally to SCSI expander devices, and more particularly to using a SCSI expander with a variety of SCSI target and SCSI initiator devices having different signal conditioning requirements.
2. Description of Related Art
In a system that utilizes the Packetized SCSI Protocol, there are two methods used for signal conditioning. A first signal conditioning method, called write precompensation (WPC), conditions the driving signal. A second signal conditioning method, called adjustable active filtering (AAF), conditions the received signal. Unfortunately, the two signal conditioning methods are incompatible because an AAF input signal is overdriven if WPC is used. According to the SCSI specification, WPC signal conditioning is mandatory while AAF signal conditioning is optional.
For the Packetized SCSI Protocol, a SCSI initiator and a SCSI target use a Parallel Protocol Request (PPR) message in negotiating parameters for a data transfer between the SCSI initiator and the SCSI target over a SCSI bus. Execution of the Parallel Protocol Request message is done in two passes. The SCSI initiator sends a PPR message to the SCSI target with required and/or requested transfer parameters. In response to this PPR message, the SCSI target returns a PPR message with its requirements and/or requests. Both the SCSI initiator and the SCSI target agree on the least common denominator of parameters for the ensuing data transfers.
A precompensation enable control bit P_EN is used in the PPR message to select whether write precompensation is turned on or turned off. The device that sends the PPR message asserts precompensation enable control bit P_EN if the device wants the other device to turn on write precompensation for its drivers. Conversely, the device that sends the PPR message negates precompensation enable control bit P_EN if the device implements adjustable active filtering, and wants write precompensation turned off.
This technique for activating write precompensation depending on support for adjustable active filtering presents problems when using a SCSI expander that does not support adjustable active filtering because the method selected does not reflect the limitations of the SCSI expander. FIGS. 1A to 1D illustrate four possible SCSI initiator and SCSI target configurations using write precompensation and adjustable active filtering with a SCSI expander 102 that does not support adjustable active filtering.
In FIG. 1A, neither SCSI initiator 101 nor SCSI target 103 supports adjustable active filtering. For a SCSI bus phase DATA OUT, SCSI target 103 sets precompensation enable control bit P_EN in the PPR message that is passed by SCSI expander 102 to SCSI initiator 101. When SCSI initiator 101 sends data to SCSI target 103 through SCSI expander 102 that does not support adjustable active filtering, the message correctly indicates that expander 102 requires write precompensation.
For a SCSI bus phase DATA IN, SCSI initiator 101 sets precompensation enable control bit P_EN in the PPR message that is passed by SCSI expander 102 to SCSI target 101. When SCSI target 103 sends data to SCSI target 103 through SCSI expander 102 that does not support adjustable active filtering, the data transfer is successful because expander 102 required write precompensation. However, the system configuration of FIG. 1A is the only one that works successfully with SCSI expander 102.
In FIG. 1B, SCSI target 105 supports adjustable active filtering and SCSI initiator 104 does not support adjustable active filtering. For a SCSI bus phase DATA OUT, SCSI target 105 negates precompensation enable control bit P_EN in the PPR message that is passed by SCSI expander 102 to SCSI initiator 101. This message erroneously indicates to SCSI initiator 101 that SCSI expander 102 supports adjustable active filtering, which is incorrect.
In FIG. 1C, SCSI initiator 106 supports adjustable active filtering, and SCSI target 107 does not support adjustable active filtering. For a SCSI bus phase DATA IN, SCSI initiator 105 negates precompensation enable control bit P_EN in the PPR message that is passed by SCSI expander 102 to SCSI target 107. This message also erroneously indicates to SCSI target 107 that SCSI expander 102 does not require write precompensation.
In FIG. 1D, SCSI initiator 108 supports adjustable active filtering and SCSI target 109 also supports adjustable active filtering. For a SCSI bus phase DATA IN, SCSI initiator 108 negates precompensation enable control bit P_EN in the PPR message that is passed by SCSI expander 102 to SCSI target 109. This message erroneously indicates to SCSI target 109 that SCSI expander 102 does not require write precompensation. For a SCSI bus phase DATA out, SCSI target 109 negates precompensation enable control bit P_EN in the PPR message that is passed by SCSI expander 102 to SCSI initiator 108. This message erroneously indicates to SCSI initiator 108 that SCSI expander 102 does not require write precompensation.
Since the state of the precompensation enable control bit in the PPR message considers only the initiator and target, a SCSI expander is limited to working with initiator and targets that have the same signal conditioning as the SCSI expander. Consequently, a SCSI expander with a given signal conditioning is useful only in limited system configurations.